看一百遍美女,美女也不一定是你的。但你刷一百遍算法,知识就是你的了~~
谁能九层台,不用累土起!
题目
在柠檬水摊上,每一杯柠檬水的售价为5
美元。顾客排队购买你的产品,(按账单bills
支付的顺序)一次购买一杯。
每位顾客只买一杯柠檬水,然后向你付5
美元、10
美元或20
美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5
美元。
注意,一开始你手头没有任何零钱。
给你一个整数数组bills
,其中bills[i]
是第i
位顾客付的账。如果你能给每位顾客正确找零,返回true
,否则返回false
。
示例 1:
1 | 输入:bills = [5,5,5,10,20] |
示例 2:
1 | 输入:bills = [5,5,10,10,20] |
示例 3:
1 | 输入: bills = [5,5,10] |
示例 4:
1 | 输入: bills = [10,10] |
提示:
1 <= bills.length <= 105
bills[i]
不是5
就是10
或是20
解题思路
没零钱还摆什么摊嘛🙄,支付宝微信支付了解一下?
- 当收到
10
时,必须有5
,不然为false
- 当收到
20
时,最起码要有1
张10
和1
张5
,或3
张5
,不然为false
解题代码
1 | var lemonadeChange = function(bills) { |
如有任何问题或建议,欢迎留言讨论!